/** Definition of the Follow sets class.
 * @file 
 * @author Jeremy Schultz
 */

#ifndef	__FOLLOW_H_
#define	__FOLLOW_H_

#include <string>
#include <sstream>
#include "PLset.h"

using namespace std;

/** Describes the Follow Set PL lanaguage.
 * Base class for Tokens. 
 * Numeric and Word extend this class store specific Token types.
 */
class Follow {
	public:

		/** Constructor.
		 */
		Follow();

		/** Getter - set.
		 * Get a specific set from the array of Plset
		 * @param _set Specifies which set to return
		 * @return The PLset requested
		 */
		PLset* Follow::Set(PLset::NonTerminal _set);

	private:
		PLset *set[PLset::MAX_NON_TERMINALS];		/**< Array of PLsets */
};
#endif
